package com.example.zhilongzhang.constructionpayapp.util;

import android.util.Log;

import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;

/**
 * Created by admin on 16/5/18.
 */
public class JsonUtil {

    private static Gson gson;

    private JsonUtil() { }

    private static Gson getGsonInstance() {

        if (gson == null) {
            gson = new Gson();
        }

        return gson;
    }

    /**
     * 把Json格式的字符串转换成实体类型的方法.
     * 注意:实体类中的变量需要用@SerializedName注释
     */
    public static <T> T toObj(String value, Class<T> classOfT) {
        try {
            return getGsonInstance().fromJson(value, classOfT);
        } catch (JsonSyntaxException exception) {
            Log.d("JsonSyntaxException", exception.getMessage());
        }
        return null;
    }

    /**
     * 把实体类型转换成Json格式字符串的方法.
     * 注意:实体类中的变量需要用@SerializedName注释
     */
    public static String toJson(Object jsonObject) {

        return getGsonInstance().toJson(jsonObject);
    }
}
